Skip to main content

Average of a Single Tensor

This is an example of computing the average of a single tensor input.

from csdl_om import Simulatorfrom csdl import Modelimport csdlimport numpy as np

class ExampleSingleTensor(Model):
    def define(self):        n = 3        m = 6        p = 7        q = 10
        # Declare a tensor of shape 3x6x7x10 as input        T1 = self.declare_variable(            'T1',            val=np.arange(n * m * p * q).reshape((n, m, p, q)),        )
        # Output the average of all the elements of the tensor T1        self.register_output(            'single_tensor_average',            csdl.average(T1),        )

sim = Simulator(ExampleSingleTensor())sim.run()
print('T1', sim['T1'].shape)print(sim['T1'])print('single_tensor_average', sim['single_tensor_average'].shape)print(sim['single_tensor_average'])
[[[[0.000e+00 1.000e+00 2.000e+00 ... 7.000e+00 8.000e+00 9.000e+00]   [1.000e+01 1.100e+01 1.200e+01 ... 1.700e+01 1.800e+01 1.900e+01]   [2.000e+01 2.100e+01 2.200e+01 ... 2.700e+01 2.800e+01 2.900e+01]   ...   [4.000e+01 4.100e+01 4.200e+01 ... 4.700e+01 4.800e+01 4.900e+01]   [5.000e+01 5.100e+01 5.200e+01 ... 5.700e+01 5.800e+01 5.900e+01]   [6.000e+01 6.100e+01 6.200e+01 ... 6.700e+01 6.800e+01 6.900e+01]]
  [[7.000e+01 7.100e+01 7.200e+01 ... 7.700e+01 7.800e+01 7.900e+01]   [8.000e+01 8.100e+01 8.200e+01 ... 8.700e+01 8.800e+01 8.900e+01]   [9.000e+01 9.100e+01 9.200e+01 ... 9.700e+01 9.800e+01 9.900e+01]   ...   [1.100e+02 1.110e+02 1.120e+02 ... 1.170e+02 1.180e+02 1.190e+02]   [1.200e+02 1.210e+02 1.220e+02 ... 1.270e+02 1.280e+02 1.290e+02]   [1.300e+02 1.310e+02 1.320e+02 ... 1.370e+02 1.380e+02 1.390e+02]]
  [[1.400e+02 1.410e+02 1.420e+02 ... 1.470e+02 1.480e+02 1.490e+02]   [1.500e+02 1.510e+02 1.520e+02 ... 1.570e+02 1.580e+02 1.590e+02]   [1.600e+02 1.610e+02 1.620e+02 ... 1.670e+02 1.680e+02 1.690e+02]   ...   [1.800e+02 1.810e+02 1.820e+02 ... 1.870e+02 1.880e+02 1.890e+02]   [1.900e+02 1.910e+02 1.920e+02 ... 1.970e+02 1.980e+02 1.990e+02]   [2.000e+02 2.010e+02 2.020e+02 ... 2.070e+02 2.080e+02 2.090e+02]]
  [[2.100e+02 2.110e+02 2.120e+02 ... 2.170e+02 2.180e+02 2.190e+02]   [2.200e+02 2.210e+02 2.220e+02 ... 2.270e+02 2.280e+02 2.290e+02]   [2.300e+02 2.310e+02 2.320e+02 ... 2.370e+02 2.380e+02 2.390e+02]   ...   [2.500e+02 2.510e+02 2.520e+02 ... 2.570e+02 2.580e+02 2.590e+02]   [2.600e+02 2.610e+02 2.620e+02 ... 2.670e+02 2.680e+02 2.690e+02]   [2.700e+02 2.710e+02 2.720e+02 ... 2.770e+02 2.780e+02 2.790e+02]]
  [[2.800e+02 2.810e+02 2.820e+02 ... 2.870e+02 2.880e+02 2.890e+02]   [2.900e+02 2.910e+02 2.920e+02 ... 2.970e+02 2.980e+02 2.990e+02]   [3.000e+02 3.010e+02 3.020e+02 ... 3.070e+02 3.080e+02 3.090e+02]   ...   [3.200e+02 3.210e+02 3.220e+02 ... 3.270e+02 3.280e+02 3.290e+02]   [3.300e+02 3.310e+02 3.320e+02 ... 3.370e+02 3.380e+02 3.390e+02]   [3.400e+02 3.410e+02 3.420e+02 ... 3.470e+02 3.480e+02 3.490e+02]]
  [[3.500e+02 3.510e+02 3.520e+02 ... 3.570e+02 3.580e+02 3.590e+02]   [3.600e+02 3.610e+02 3.620e+02 ... 3.670e+02 3.680e+02 3.690e+02]   [3.700e+02 3.710e+02 3.720e+02 ... 3.770e+02 3.780e+02 3.790e+02]   ...   [3.900e+02 3.910e+02 3.920e+02 ... 3.970e+02 3.980e+02 3.990e+02]   [4.000e+02 4.010e+02 4.020e+02 ... 4.070e+02 4.080e+02 4.090e+02]   [4.100e+02 4.110e+02 4.120e+02 ... 4.170e+02 4.180e+02 4.190e+02]]]

 [[[4.200e+02 4.210e+02 4.220e+02 ... 4.270e+02 4.280e+02 4.290e+02]   [4.300e+02 4.310e+02 4.320e+02 ... 4.370e+02 4.380e+02 4.390e+02]   [4.400e+02 4.410e+02 4.420e+02 ... 4.470e+02 4.480e+02 4.490e+02]   ...   [4.600e+02 4.610e+02 4.620e+02 ... 4.670e+02 4.680e+02 4.690e+02]   [4.700e+02 4.710e+02 4.720e+02 ... 4.770e+02 4.780e+02 4.790e+02]   [4.800e+02 4.810e+02 4.820e+02 ... 4.870e+02 4.880e+02 4.890e+02]]
  [[4.900e+02 4.910e+02 4.920e+02 ... 4.970e+02 4.980e+02 4.990e+02]   [5.000e+02 5.010e+02 5.020e+02 ... 5.070e+02 5.080e+02 5.090e+02]   [5.100e+02 5.110e+02 5.120e+02 ... 5.170e+02 5.180e+02 5.190e+02]   ...   [5.300e+02 5.310e+02 5.320e+02 ... 5.370e+02 5.380e+02 5.390e+02]   [5.400e+02 5.410e+02 5.420e+02 ... 5.470e+02 5.480e+02 5.490e+02]   [5.500e+02 5.510e+02 5.520e+02 ... 5.570e+02 5.580e+02 5.590e+02]]
  [[5.600e+02 5.610e+02 5.620e+02 ... 5.670e+02 5.680e+02 5.690e+02]   [5.700e+02 5.710e+02 5.720e+02 ... 5.770e+02 5.780e+02 5.790e+02]   [5.800e+02 5.810e+02 5.820e+02 ... 5.870e+02 5.880e+02 5.890e+02]   ...   [6.000e+02 6.010e+02 6.020e+02 ... 6.070e+02 6.080e+02 6.090e+02]   [6.100e+02 6.110e+02 6.120e+02 ... 6.170e+02 6.180e+02 6.190e+02]   [6.200e+02 6.210e+02 6.220e+02 ... 6.270e+02 6.280e+02 6.290e+02]]
  [[6.300e+02 6.310e+02 6.320e+02 ... 6.370e+02 6.380e+02 6.390e+02]   [6.400e+02 6.410e+02 6.420e+02 ... 6.470e+02 6.480e+02 6.490e+02]   [6.500e+02 6.510e+02 6.520e+02 ... 6.570e+02 6.580e+02 6.590e+02]   ...   [6.700e+02 6.710e+02 6.720e+02 ... 6.770e+02 6.780e+02 6.790e+02]   [6.800e+02 6.810e+02 6.820e+02 ... 6.870e+02 6.880e+02 6.890e+02]   [6.900e+02 6.910e+02 6.920e+02 ... 6.970e+02 6.980e+02 6.990e+02]]
  [[7.000e+02 7.010e+02 7.020e+02 ... 7.070e+02 7.080e+02 7.090e+02]   [7.100e+02 7.110e+02 7.120e+02 ... 7.170e+02 7.180e+02 7.190e+02]   [7.200e+02 7.210e+02 7.220e+02 ... 7.270e+02 7.280e+02 7.290e+02]   ...   [7.400e+02 7.410e+02 7.420e+02 ... 7.470e+02 7.480e+02 7.490e+02]   [7.500e+02 7.510e+02 7.520e+02 ... 7.570e+02 7.580e+02 7.590e+02]   [7.600e+02 7.610e+02 7.620e+02 ... 7.670e+02 7.680e+02 7.690e+02]]
  [[7.700e+02 7.710e+02 7.720e+02 ... 7.770e+02 7.780e+02 7.790e+02]   [7.800e+02 7.810e+02 7.820e+02 ... 7.870e+02 7.880e+02 7.890e+02]   [7.900e+02 7.910e+02 7.920e+02 ... 7.970e+02 7.980e+02 7.990e+02]   ...   [8.100e+02 8.110e+02 8.120e+02 ... 8.170e+02 8.180e+02 8.190e+02]   [8.200e+02 8.210e+02 8.220e+02 ... 8.270e+02 8.280e+02 8.290e+02]   [8.300e+02 8.310e+02 8.320e+02 ... 8.370e+02 8.380e+02 8.390e+02]]]

 [[[8.400e+02 8.410e+02 8.420e+02 ... 8.470e+02 8.480e+02 8.490e+02]   [8.500e+02 8.510e+02 8.520e+02 ... 8.570e+02 8.580e+02 8.590e+02]   [8.600e+02 8.610e+02 8.620e+02 ... 8.670e+02 8.680e+02 8.690e+02]   ...   [8.800e+02 8.810e+02 8.820e+02 ... 8.870e+02 8.880e+02 8.890e+02]   [8.900e+02 8.910e+02 8.920e+02 ... 8.970e+02 8.980e+02 8.990e+02]   [9.000e+02 9.010e+02 9.020e+02 ... 9.070e+02 9.080e+02 9.090e+02]]
  [[9.100e+02 9.110e+02 9.120e+02 ... 9.170e+02 9.180e+02 9.190e+02]   [9.200e+02 9.210e+02 9.220e+02 ... 9.270e+02 9.280e+02 9.290e+02]   [9.300e+02 9.310e+02 9.320e+02 ... 9.370e+02 9.380e+02 9.390e+02]   ...   [9.500e+02 9.510e+02 9.520e+02 ... 9.570e+02 9.580e+02 9.590e+02]   [9.600e+02 9.610e+02 9.620e+02 ... 9.670e+02 9.680e+02 9.690e+02]   [9.700e+02 9.710e+02 9.720e+02 ... 9.770e+02 9.780e+02 9.790e+02]]
  [[9.800e+02 9.810e+02 9.820e+02 ... 9.870e+02 9.880e+02 9.890e+02]   [9.900e+02 9.910e+02 9.920e+02 ... 9.970e+02 9.980e+02 9.990e+02]   [1.000e+03 1.001e+03 1.002e+03 ... 1.007e+03 1.008e+03 1.009e+03]   ...   [1.020e+03 1.021e+03 1.022e+03 ... 1.027e+03 1.028e+03 1.029e+03]   [1.030e+03 1.031e+03 1.032e+03 ... 1.037e+03 1.038e+03 1.039e+03]   [1.040e+03 1.041e+03 1.042e+03 ... 1.047e+03 1.048e+03 1.049e+03]]
  [[1.050e+03 1.051e+03 1.052e+03 ... 1.057e+03 1.058e+03 1.059e+03]   [1.060e+03 1.061e+03 1.062e+03 ... 1.067e+03 1.068e+03 1.069e+03]   [1.070e+03 1.071e+03 1.072e+03 ... 1.077e+03 1.078e+03 1.079e+03]   ...   [1.090e+03 1.091e+03 1.092e+03 ... 1.097e+03 1.098e+03 1.099e+03]   [1.100e+03 1.101e+03 1.102e+03 ... 1.107e+03 1.108e+03 1.109e+03]   [1.110e+03 1.111e+03 1.112e+03 ... 1.117e+03 1.118e+03 1.119e+03]]
  [[1.120e+03 1.121e+03 1.122e+03 ... 1.127e+03 1.128e+03 1.129e+03]   [1.130e+03 1.131e+03 1.132e+03 ... 1.137e+03 1.138e+03 1.139e+03]   [1.140e+03 1.141e+03 1.142e+03 ... 1.147e+03 1.148e+03 1.149e+03]   ...   [1.160e+03 1.161e+03 1.162e+03 ... 1.167e+03 1.168e+03 1.169e+03]   [1.170e+03 1.171e+03 1.172e+03 ... 1.177e+03 1.178e+03 1.179e+03]   [1.180e+03 1.181e+03 1.182e+03 ... 1.187e+03 1.188e+03 1.189e+03]]
  [[1.190e+03 1.191e+03 1.192e+03 ... 1.197e+03 1.198e+03 1.199e+03]   [1.200e+03 1.201e+03 1.202e+03 ... 1.207e+03 1.208e+03 1.209e+03]   [1.210e+03 1.211e+03 1.212e+03 ... 1.217e+03 1.218e+03 1.219e+03]   ...   [1.230e+03 1.231e+03 1.232e+03 ... 1.237e+03 1.238e+03 1.239e+03]   [1.240e+03 1.241e+03 1.242e+03 ... 1.247e+03 1.248e+03 1.249e+03]   [1.250e+03 1.251e+03 1.252e+03 ... 1.257e+03 1.258e+03 1.259e+03]]]]single_tensor_average (1,)[629.5]